home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 021-030 / amok21 / iffsupport1.5 / demos / showcycle.mod < prev    next >
Text File  |  1993-11-04  |  2KB  |  71 lines

  1. (*---------------------------------------------------------------------------
  2.     :Program.    ShowCycle.mod
  3.     :Author.     Fridtjof Siebert
  4.     :Address.    Nobileweg 67, D-7-Stgt-40
  5.     :Phone.      0711/822509
  6.     :Shortcut.   [fbs]
  7.     :Version.    1.0
  8.     :Date.       20.04.88
  9.     :Copyright.  PD
  10.     :Language.   Modula-II
  11.     :Translator. M2Amiga
  12.     :Imports.    IFFSupport [fbs].
  13.     :UpDate.     none.
  14.     :Contents.   Demo zu IFFSupport für Colorcycling.
  15.     :Remark.     Syntax: ShowCycle <filename>
  16. ---------------------------------------------------------------------------*)
  17.  
  18. MODULE ShowCycle;
  19.  
  20. FROM SYSTEM IMPORT ADR, ADDRESS, SHIFT, BITSET, LONGSET, CAST;
  21.  
  22. FROM Arguments IMPORT NumArgs,GetArg;
  23.  
  24. FROM Intuition IMPORT ScreenPtr,CloseScreen,DisplayBeep,WindowPtr;
  25.  
  26. FROM IFFSupport IMPORT ReadILBM,ReadILBMFlags,ReadILBMFlagSet,DoCycle,EndCycle,
  27.        IFFInfo;
  28.  
  29. FROM Dos IMPORT Delay;
  30.  
  31. VAR
  32.   MyScreen: ScreenPtr;        (* the Picture's ScreenPointer               *)
  33.   WindowDummy: WindowPtr;     (* only a dummy for NIL-Windowpointer        *)
  34.   Name: ARRAY[0..79] OF CHAR; (* the Picture's Name                        *)
  35.   length: INTEGER;            (* dummy for receiving Name's Length         *)
  36.   Ciapra [0BFE001H]: SET OF (s0,s1,s2,s3,s4,s5,lmb);
  37.     (* Ciapra is a Hardware-Register. Bit #6 contains the left Button      *)
  38.  
  39. BEGIN
  40.  
  41. (*------  Get Name:  ------*)
  42.  
  43.   IF NumArgs()#0 THEN
  44.     GetArg(1,Name,length);
  45.   ELSE
  46.     HALT; (* a silly guy didn't say which pic I should load *)
  47.   END;
  48.  
  49. (*------  Read and Show Pic:  ------*)
  50.  
  51.   IF ReadILBM(Name,ReadILBMFlagSet{front,visible},MyScreen,WindowDummy) THEN
  52.  
  53.     (*------  start ColorCycling:  ------*)
  54.  
  55.     IF DoCycle(ADR(IFFInfo),MyScreen) THEN END;
  56.  
  57.     WHILE lmb IN Ciapra DO Delay(3) END;
  58.     (* that's bad style, but it's the easiest way to wait for left Button  *)
  59.  
  60.     (*------  stop ColorCycling (this mustn't be forgotten !!!) ------*)
  61.  
  62.     EndCycle(ADR(IFFInfo));
  63.  
  64.     CloseScreen(MyScreen); (* close the Screen *)
  65.  
  66.   ELSE
  67.     DisplayBeep(NIL); (* any error occured: lets display a Beep ! *)
  68.   END;
  69.  
  70. END ShowCycle. That's all. Wasn't that easy ???
  71.